Method and system for secure authentication of a user by a host system

ABSTRACT

A method and system for securely logging onto a banking system authentication server so that a user credential never appears in the clear during interaction with the system in which during a log on process, an encryption applet and the public key of a public/private key pair of a banking application server, the private key for which is known by a hardware security module (HSM) of the banking application, are downloaded by a user&#39;s browser. The applet contains code for generating a DES key and performing DES and PKI encryption. A user&#39;s credential is DES encrypted, and the DES key is PKI encrypted with the public key of the application server by the applet before being transmitted to the application server. Within the HSM of the application server, the HSM decrypts and re-encrypts the credential under a new DES key known to the authentication server, the re-encrypted credential is forwarded to the authentication server, decrypted with the new DES key known to the authentication server, and verified by the authentication server.

PRIORITY APPLICATION

This application claims the benefit of U.S. Provisional Application No.60/530,063 filed Dec. 16, 2003, entitled “METHOD AND SYSTEM FOR SECUREAUTHENTICATION OF A USER BY A HOST SYSTEM”, which is incorporated hereinby this reference.

FIELD OF THE INVENTION

The present invention relates generally to the field of electroniccommerce security, and more particularly to a method and system forallowing a user to securely log on to a host system via an electronicinterface, such as an Internet banking interface.

BACKGROUND

Currently, Secure Sockets Layer (SSL) is typically utilized for log-onsecurity in transmitting user credentials, including, withoutlimitation, PINs, passwords, one-time passwords, biometrics, physicaltokens, smart card tokens, security tokens, and the like (referred tohereinafter collectively as “PIN” and/or “user credentials” and/or“authentication credentials”, and customer identification numbers(CINs), from a user's terminal to an authentication server via anetwork, such as the Internet. For example, in an existing art usercredential flow process, a user enters his or her user credentials, suchas a PIN, in the clear on a Web site login screen at the user's browser,and the PIN travels, for example, over SSL to the Web server and ismomentarily in the clear in memory in the Web server. Thereafter, thePIN is forwarded to an application server over SSL, and the PIN is againmomentarily in the clear in memory in the application server. Continuingwith the example, the PIN is then encrypted inside a token at theapplication server and the encrypted token containing the PIN is sentvia SSL to a banking application server, where the encrypted tokencontaining the PIN is decrypted, at which time the PIN is once moremomentarily in the clear in memory. Next, a PIN block is created andencrypted with a session key (KPE-y) of an authentication server using ahardware storage module (HSM) of the banking application server, and thehost key-encrypted PIN block is sent to the authentication server, whichperforms a PIN verification.

While a relatively high level of log-on security is afforded by SSL intransmitting user credentials in such existing art systems, there ispresently a concern, for example, among monetary authorities in at leastsome jurisdictions that there is a risk that an insider might attempt toplace ‘sniffing’ software on a web server or an application serverinside a data center and secretly recover the users' credentials, suchas the users' PINs or CINs. Further, at least some monetary authoritieshave imposed requirements on businesses, such as financial institutions,that operate banking websites to encrypt users' credentials, such asPINs and CINs, which are used in logging on to the website in such a waythat the users' credentials are never exposed in the clear until theyarrive at the authentication server (also referred to herein as the“host server”) that validates the user's credentials. Thus, there is acurrent need for a method and system for encrypting the user'scredentials at the user's browser in such a way that they never appearin the clear, either in transmission from the user's browser to thefinancial institution's system or in any of the intermediate servers orapplication servers through which the user's credentials pass in thefinancial institution's system, until they arrive at the authenticationserver that validates the user's credentials.

SUMMARY OF THE INVENTION

It is a feature and advantage of the present invention to provide amethod and system for allowing a user to securely logon on to a hostsystem via an electronic interface, such as an Internet bankinginterface, that securely encrypts the user's credentials such as theuser's PIN or password when entered by a user into a password/PIN fieldof the Internet interface to the system, such as a banking system, andbefore it is transmitted to any other server.

It is another feature and advantage of the present invention to providea method and system for allowing a user to securely logon on to the hostsystem via the electronic interface, in which the algorithm forencrypting the user's credentials, such as a PIN, is not exposed to theuser.

It is an additional feature and advantage of the present invention toprovide a method and system for allowing a user to securely logon on tothe host system via the electronic interface that is configured andinitialized in a manner that is secured and in accordance with thesecurity policies of an entity, such as a financial institution.

It is a further feature and advantage of the present invention toprovide a method and system for allowing a user to securely logon on tothe host system via the electronic interface, which does notsignificantly adversely affect the performance of the user of thesystem.

It is a still another feature and advantage of the present invention toprovide a method and system for allowing a user to securely logon on tothe host system via the electronic interface which is transparent to theuser.

It is an additional feature and advantage of the present invention toprovide a method and system for allowing a user to securely logon on tothe host system via the electronic interface that supports all popularand currently supported browsers.

It is an another feature and advantage of the present invention toprovide a mechanism to prevent “sniffing” or capture of user credentialsat the user's computing device, e.g., through spyware, browser helperobjects or other software that attempts to capture the data streambefore SSL encryption.

It is an additional feature and advantage of the present invention toprovide a mechanism that prevents the interception and replay of theencrypted user credentials by an unauthorized party.

To achieve the stated and other features, advantages and objects, themethod and system for an embodiment of the present invention provides amethod and system for allowing a user to securely log on to a hostsystem via an electronic interface, such as an Internet bankinginterface, which utilizes an applet that is downloaded to the user'sbrowser. The user's credentials, such as a PIN, are encrypted at theuser's browser by the applet and sent to an application server providedwith a hardware security module, which changes the encryption key andthe encryption of the user's credentials, such as the PIN, and returnsthe encrypted user's credentials, such as the PIN, to the applicationserver. The application server then forwards the encrypted user'scredentials, such as the PIN, to the authentication server whichdecrypts and verifies the user's credentials. Thus, the user'scredentials never appear in the clear from the time they are encryptedat the user's browser until they arrive at the actual authenticationserver that validates the credentials for the user.

More particularly, in an embodiment of the invention, the user at acomputing device with a browser is allowed to access the financialinstitution's website via a web server, and an encryption applet, areplay prevention ID, and a public key of a public/private key pair aresent to the user's browser by the web server. The encryption appletcomprises, for example, a faceless applet associated with the financialinstitution's logon page that is contained in a single class file thatcontains all functionality required to encrypt the user's credentialsand that is able to persist on the user's browser. Further, the privateof the public/private key pair is known to a hardware security module(i.e., a tamper-proof encryption module) of the application server.

The user is allowed to enter the user's credentials into the encryptionapplet, which generates a symmetric key (e.g., a DES key, a triple DESkey, an AES key, or any other symmetric key algorithm) based on a randomnumber generated by the encryption applet and encrypts the user'scredentials with the symmetric key (e.g., to produce a cipherPlN) andalso encrypts the symmetric key (e.g., the DES key, the triple DES key,the AES key, etc.) and replay prevention ID with the public key of thepublic/private key pair (e.g. to produce a cipherKey). Thereafter theencryption applet clears working variables by the encryption applet toprevent retention of sensitive clear data and the symmetrickey-encrypted user's credentials and public key-encrypted symmetric keyand replay prevention ID are sent from the user's browser via the webserver to the application server.

In an alternative aspect of an embodiment of the invention, thesymmetric key-encrypted user's credentials and public key-encryptedsymmetric key and replay prevention ID can be sent to the applicationserver from the user's browser via a portal application. In suchalternative aspect, the portal application encrypts and digitally signsthe symmetric key-encrypted user's credentials and the publickey-encrypted symmetric key and replay prevention ID within a singlesign-on token and sends the token to the application server, whichdecrypts the single sign-on token and verifies that the token wasreceived from the portal application as a trusted source.

In either case, upon receipt by the application server, the publickey-encrypted symmetric key and replay prevention ID are decrypted withthe private key known to the tamper-proof encryption module of theapplication server, and the symmetric key-encrypted user's credentialsare decrypted with the decrypted symmetric key. The decrypted replayprevention ID is compared with a clear-text version of the replayprevention ID retained by the application server, and if the decryptedreplay prevention ID and the retained version are identical, the logonis allowed to continue. Thereafter, the decrypted user's credentials arere-encrypted with a new symmetric key known to the authenticationserver. The decryption and re-encryption are accomplished, for example,by passing the symmetric key-encrypted user's credentials and publickey-encrypted symmetric key and replay prevention ID to the tamper-proofencryption module of the application server, which internally within thetamper-proof encryption module, decrypts the public key-encryptedsymmetric key and replay prevention ID with the private key of theapplication server, decrypts the symmetric key-encrypted user'scredentials with the decrypted symmetric key, re-encrypts the decrypteduser's credentials with the new symmetric key that is known to theauthentication server, and returns the decrypted replay prevention IDand re-encrypted user's credentials under the new symmetric key to theapplication server.

The re-encrypted user's credentials are sent for verification by theapplication server to the authentication server, which decrypts there-encrypted user's credentials with the new symmetric key known to theauthentication server, checks the decrypted user's credentials forveracity, and if verified, allows the user's logon.

In another aspect of an embodiment of the invention, the user is allowedto access an application server via a web server, and an encryptionapplet, a replay prevention ID, and a public key of a public/private keypair of an of an authentication server that is co-resident with theapplication server are downloaded to the user's browser by theapplication server. The user is allowed to enter the user's credentialsinto the encryption applet, which encrypts the user's credentials with asymmetric key and encrypts the symmetric key and the replay preventionID with the public key of the public/private key pair, and the symmetrickey-encrypted user's credentials and public key-encrypted symmetric keyand the replay prevention ID are sent via the web server to theapplication server from the user's browser. The symmetric key-encrypteduser's credentials and public key-encrypted symmetric key and the replayprevention ID are passed by the application server to the authenticationserver that is co-resident with the authentication server, and thepublic key-encrypted symmetric key and the replay prevention ID aredecrypted with a private key of the authentication server and thesymmetric key-encrypted user's credentials are decrypted with thedecrypted symmetric key by an encryption module of the authenticationserver. The authentication server checks the replay prevention ID andthe decrypted user's credentials for veracity, and if verified, allowsthe user's logon.

In a further aspect of an embodiment of the invention, the user isallowed to access an application server via a web server, which sends anencryption applet, a replay prevention ID, and a public key of apublic/private key pair of the application server to the user's browser.The user is allowed to enter the user's credentials into the encryptionapplet, which encrypts the user's credentials with a symmetric key andencrypts the symmetric key and replay prevention ID with the public keyof the public/private key pair. The symmetric key-encrypted user'scredentials and the public key-encrypted symmetric key and replayprevention ID are sent via the web server to the application server fromthe user's browser, and the public key-encrypted symmetric key and thereplay prevention ID are decrypted with a private key of the applicationserver and the symmetric key-encrypted user's credentials are decryptedwith the decrypted symmetric key. The application server compares thedecrypted replay prevention ID with a clear-text version of the replayprevention ID retained by the application server, and if the decryptedreplay prevention ID and the retained version are identical, the logonis allowed to continue. The decrypted user's credentials arere-encrypted with a new symmetric key known to an authentication serverand sent to the authentication server by the application server forverification. The re-encrypted user's credentials are decrypted with thenew symmetric key known to the authentication server, which checks thedecrypted user's credentials for veracity, and if verified, allows theuser's logon.

Additional objects, advantages and novel features of the invention willbe set forth in part in the description which follows, and in part willbecome more apparent to those skilled in the art upon examination of thefollowing, or may be learned from practice of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram that illustrates an overview example ofkey components and the flow of information between key components for anembodiment of the invention;

FIGS. 2( a) and 2(b) show a flow chart that illustrates an example ofthe end-to-end encryption process for an embodiment of the invention;

FIG. 3 is a schematic diagram that provides an example of additionaldetails of key components and the flow of information between keycomponents for an embodiment of the invention;

FIGS. 4( a) and 4(b) show a flow diagram that illustrates an example ofthe PIN flow process for a normal login for an embodiment of theinvention;

FIGS. 5( a) and 5(b) show a flow diagram that illustrates an example ofPIN flow in connection with re-entry of a PIN or native login directlyto DA for an embodiment of the invention;

FIG. 6 is a schematic diagram that illustrates an overview example ofkey components and the flow of information between key components for analternate aspect of an embodiment of the invention;

FIG. 7 is a flow chart that illustrates an example of the end-to-endencryption process for the alternate aspect of an embodiment of theinvention according to FIG. 6;

FIG. 8 is a schematic diagram that illustrates an overview example ofkey components and the flow of information between key components foranother alternate aspect of an embodiment of the invention; and

FIGS. 9( a) and 9(b) show a flow chart that illustrates an example ofthe end-to-end encryption process for the alternate aspect of anembodiment of the invention according to FIG. 8.

DETAILED DESCRIPTION

As required, detailed features and embodiments of the invention aredisclosed herein. However, it is to be understood that the disclosedfeatures and embodiments are merely exemplary of the invention that maybe embodied in various and alternative forms. The figures are notnecessarily to scale, and some features may be exaggerated or minimizedto show details of particular components. Therefore, specific structuraland functional details disclosed herein, and any particular combinationof these details, are not to be interpreted as limiting, but merely as abasis for claims and as a representative basis for teaching one skilledin the art to variously employ the invention.

Referring now in detail to an embodiment of the present invention,examples of which are illustrated in the accompanying drawings, eachexample is provided by way of explanation of the invention, not as alimitation of the invention. It will be apparent to those skilled in theart that various modifications and variations can be made in the presentinvention without departing from the scope or spirit of the invention.For instance, features illustrated or described as part of oneembodiment can be used on another embodiment to yield a still furtherembodiment. Thus, it is intended that the present invention cover suchmodifications and variations that come within the scope of theinvention.

An embodiment of the present invention provides a method and system forallowing a user to securely log on to a host system via an electronicinterface, such as an Internet banking interface, in which a user's PINis encrypted from the moment the user enters his or her PIN at aterminal until it arrives at the host system which authenticates thePIN. Thus, when the user enters his or her PIN into a password/PIN fieldof an Internet interface to the banking system, the password is securelyencrypted before it is transmitted to any other server, and thealgorithm for encrypting the PIN is not exposed to the user. Theencrypted password is not decrypted by any application in the systemuntil it reaches the host system which authenticates it, oralternatively, if decryption is necessary, the decryption takes placeinside a hardware security module (“HSM”), which is essentially atamper-proof encryption box that performs encryption and also holds keysand which cannot be compromised, for example, by a computer programmerworking at the application layer of the architecture.

FIG. 1 is a schematic diagram that illustrates an overview example ofkey components and the flow of information between key components for anembodiment of the invention. Referring to FIG. 1, an embodiment of theinvention utilizes, for example, a host system (hereinafter alsoreferred to as “BAFES”) 10, an infrastructure layer of the bankingapplication system which supports many applications including banking(hereinafter also referred to as “NTDS”) 12, an NTDS hardware securitymodule (hereinafter also referred to as “HSM”) 14, an application layerof the banking system (hereinafter also referred to as “DA”) 16, aninfrastructure layer of a portal application (hereinafter also referredto as “IPT”) 18, a Web client browser 20, and a PIN encryption applet22.

An embodiment of the invention utilizes the PIN encryption applet 22that is downloaded to the user's browser 20 as part of the user'ssign-on process. Inside the PIN encryption applet 22 is code that isable to perform primarily two kinds of encryption algorithms. One of theencryption algorithms is a symmetric key algorithm, such as DataEncryption Standard (DES) encryption, triple DES, Advanced EncryptionStandard (AES), etc., and the other encryption algorithm is apublic/private key encryption operation. In order to accommodate theexisting structure of certain financial institution systems on thebackend, in addition to the PIN encryption applet 22, in an embodimentof the invention, the financial institutions host systems actuallyrequire or support an application server in encrypting the users' PINfrom the application server to the authentication server 10 with asymmetric key that the authentication server 10 exchanges or gives tothe application server. Thus, the symmetric key is not passed all theway through to the user's browser 20 for security reasons.

In order to assure that the user's PIN never appears in the clear,according to an embodiment of the invention, the PIN is encrypted by thePIN encryption applet 22 and sent into an application server which isprovided with a hardware security module or HSM 14. The applicationserver uses the HSM 14 to take the encrypted PIN from the PIN encryptionapplet 22, to change its encryption key, and to change the encryption ofthe PIN inside the HSM 14. The HSM 14 hands the PIN back to theapplication server 12 in an encrypted form, and the application server12 forwards the encrypted PIN to the authentication server 10. Thus, therequirement that the user's PIN never appears in the clear is fulfilledin that it is re-encrypted inside the tamper-proof HSM 14, and it isnever seen in the clear by any application server software.

The host system or BAFES 10 has access to an actual user authenticationsystem and is the interface between a banking application and thetransactions of records. The infrastructure of the banking applicationsystem or NTDS 12 which supports, for example, the banking application,is responsible for services, such as communications to the host 10 andinteracting with the NTDS HSM 14. Security of the user's PIN between theNTDS 12 and the BAFES 10 is based on symmetric key encryption of thePIN. The NTDS HSM 14 performs a PIN block translation on the symmetrickey-encrypted PIN block generated by the PIN encryption applet 22. Anexample of a hardware storage module HSM suitable for an embodiment ofthe invention utilizes a cryptographic device, such as an IBM4758 CryptoCard, and the setup of the HSM 14 includes creation of a PKI key pair.The public key is included in an HTML page that downloads the PINencryption applet 22 to the Web client browser 20, and the private keyis retained in the HSM 14. The HSM 14 receives, for example, a DEScipherKey and a cipherPIN block, the cipherKey is decrypted with theprivate key of the HSM 14, and the resulting DES key is temporarily keptin the HSM 14. The cipherPIN block is then translated from the temporaryDES key to the DES key used by the BAFES DES, also contained in the HSM14.

Using a “welcome mat” component of DA 16, the login message is receivedby DA 16 either from native mode or the infrastructure layer of theportal application or IPT 18, and DA 16 puts together a request to thehost 10 using the various services of NTDS 12. In an embodiment of theinvention, DA 16 is the front end to international personal banking(also referred to herein as “IPB”) customer authentication. The IPT 18allows a financial institution, for example, to aggregate several Webservices and provides a platform for customer acquisition and crossselling of the financial products managed by the financial institution.In an embodiment of the invention, the IPT 18 is the layer that presentsthe login, for example, for all customers except for IPB customers. Withregard to the Web client browser 20, an embodiment of the inventionsupports various browsers, such as Internet Explorer and Netscape, aswell as browsers on Macintosh.

The PIN encryption applet 22 is responsible for securing the user's PINbefore it is sent to the Web server. The PIN encryption applet 22 is afaceless applet associated with the financial institution's login pageand is downloaded to and executes on the Web client browser 20. The PINencryption applet 22 is contained in a single class file that containsall the required functionality. The applet size is sufficiently small toavoid a need to sign it, which would allow it to retained on the clientmachine 20. The PIN encryption applet 22 uses, for example, bothsymmetric-key encryption and RSA public-key encryption to protect thePIN and the symmetric key respectively. The PIN encryption applet 22 iscalled, for example, from JavaScript in the login page with the user'sclear PIN and returns an encrypted PIN (cipherPlNblock) and an encryptedsymmetric session key (cipherKey). Functionally, the PIN encryptionapplet 22 creates a symmetric key based on a high quality random numbergenerated by the PIN encryption applet 22, checks the PIN compositionand length (the length check defaults to the technical limits of aPIN/Pad PIN block, but may optionally be adjusted to more restrictivelimits), encrypts the clear PIN to produce a cipherPIN, encrypts thesymmetric key to produce a cipherKey, returns the cipherPIN andcipherKey, and clears the working variables appropriately to preventretention of sensitive clear data.

An embodiment of the invention employs various data elements including,for example, an HSM public key, an HSM private key, the clear PIN, anencrypted PIN block, an encrypted symmetric key, a financial institutionidentification number (“CIN”), a hidden field information, a CIN field,a PIN field, and key generation data. The HSM public key is the publickey of the PKI key pair of the NTDS HSM 14 that is used by the PINencryption applet 22 to encrypt the symmetric key that is in turn usedto encrypt the user's PIN. The HSM private key is the private key of thePKI key pair of the NTDS HSM 14 that is contained, for example, in thecryptographic device, such as the IBM4758 Crypto Card, and used tounwrap the symmetric key used by the PIN encryption applet 22 to encryptthe user's PIN.

The symmetric key is the key, such as a DES key, triple DES key, AESkey, or the like, used by the applet 22 and the encryption-manager inNTDS 12 in order to protect the PIN in accordance with the financialinstitution's security standards. The symmetric key is created by theapplet 22 and encrypted with the public key, passed in a single sign-ontoken (also referred to herein as “eAce token”) back to the DA server16, and thereafter the private key is used to decrypt the symmetric keywithin the cryptographic device 14, such as the IBM4758 Crypto Card.Finally, the symmetric key is used by the NTDS component 14 to decryptthe CIN at the hardware layer, in the cryptographic device 14, such asthe IBM4758 Crypto Card, and encrypt the CIN using the authenticationserver's symmetric key before the new PIN block is passed to theauthentication server 10.

The clear PIN is the PIN that is entered into an HTML control andprocessed once the user selects a submit button. At that time, the clearPIN is destroyed at the Web browser 20 and is never seen at theapplication layer of the architecture again until the BAFES host 10processes it. The encrypted PIN block is a symmetric key-encryptedPIN/PAD PIN block or PIN block cipher PIN that is, for example, a16-character encrypted PIN. The encrypted PIN block has twoincarnations. First, the applet 22 encrypts the PIN using a symmetrickey generated by the applet 22. Thereafter, the cryptographic device 14,such as the IBM4758 Crypto Card, decrypts the encrypted PIN with thesymmetric key generated by the applet 22 and re-encrypts the PIN using ahost key that it receives when the NTDS server 12 initializes itsconnections to the host 10. Through all of this, neither the symmetrickey nor the actual PIN is exposed in memory.

The encrypted symmetric key is shared by the applet 22 and NTDS 12 anddoes the actual work of encrypting and decrypting the PIN. The symmetrickey is encrypted with the public key in the applet 22, and then packagedand passed through to the DA server 16 along with the encrypted PINblock. The DA server 16/NTDS 12 uses the private key of thecryptographic device 14, such as the IBM4758 Crypto Card, to import thesymmetric key and uses this symmetric key to translate the encrypted PINBlock into the host-expected PIN Block using the host key and atranslate command. The host-expected PIN Block is then sent to the host10 via a “BackDoorManager” component of the NTDS 12 for verification.Through all of this, neither the symmetric key nor the real PIN isexposed in memory.

The CIN is a financial institution identification number which uniquelyidentifies a customer across a financial institution business. Thehidden field information is a hidden field on the HTML form that issubmitted. This field contains the cipherPin and the symmetric cipherkeyto be used by NTDS 12 and DA 16. The name of the particular field is“Information”. The CIN field is passed from the Web browser 20 to theIPT system 18 in a field named “Login”. The PIN field is an input fieldof type “Password” for user input. As soon as the user selects thesubmit button, and after the value of the “Information” field ispopulated, the value is replaced by garbage, e.g., ‘XXXxXXX’. The keygeneration data is the data necessary to generate a public and privatekey using the hardware layer of NTDS 12. This data must be identical foreach business. Therefore NTDS 12 provides a service to extract this dataas a file and use on the various DA servers 16.

FIGS. 2( a) and 2(b) show a flow chart that illustrates an example ofthe end-to-end encryption process for an embodiment of the invention.Referring to FIGS. 2( a) and 2(b), at S1, a user visits the financialinstitution's website and goes to a logon page served up, for example,by an infrastructure layer of a portal application that allows thefinancial institution to aggregate several web services, which isproprietary to the financial institution (also referred to herein in as“the IPT system” or “IPT”) 18. At S2, the IPT system 18 returns a log-onpage along with an applet tag that references the PIN encryption applet22 of the present invention. In addition to the reference to the applet22, the applet tag also includes a single parameter, which is the publickey of the on-line banking system server 12 that re-encrypts the user'sPIN using the HSM 14 before sending it on to the authentication server10. At S3, the applet 22 and a replay prevention ID are downloaded tothe user's browser 20 and the applet 22 is implemented in such a waythat it is small enough that it does not have to be signed. Theimplication of that is that it is only necessary to download the applet22 to the user's browser 20 on one occasion, after which the applet 22can persist on the user's browser 20 in most cases and does not have tobe downloaded each time the user logs on.

Referring further to FIGS. 2( a) and 2(b), at S4, the user enters theuser's credentials, such as the user's PIN and the user's CIN. At S5,the applet 22 takes the PIN, generates a symmetric key, and encrypts thePIN with the symmetric key. Thereafter, the applet 22 encrypts thesymmetric key and replay prevention ID with the public key that is knownby the encryption box or HSM 14 of the banking application server 12,and the encrypted PIN is sent to the IPT system 18. At this point, theIPT system 18 has the user's CIN in the clear and the user's PIN, whichis symmetric key-encrypted, and the key for the particular symmetricencryption and replay prevention ID, which are in turn encrypted withthe public key of the banking application server 12. At S6, the IPTsystem 18 then creates a single sign-on token (also referred to hereinas the eACE token) according to the single sign-on mechanism describedin co-pending U.S. patent application Ser. No. 09/668,112 entitledMETHOD AND SYSTEM FOR SINGLE SIGN-ON USER ACCESS TO MULTIPLE WEBSERVERS, the disclosure of which is incorporated herein by thisreference. The CIN, the encrypted PIN, and the encrypted key and replayprevention ID are placed inside the eACE token, and the eACE token isredirected or sent to the banking application server 12. At S7, thebanking application server 12 unwraps or decrypts the eACE token,verifies that it came from a trusted source, and takes the encrypted PINand replay prevention ID and passes it to the HSM 14, which internallydecrypts the encrypted PIN.

In other words, the banking application server 12 actually takes theencrypted PIN and the symmetric encryption key (which itself isencrypted with the public key of the application server 12) and replayprevention ID and passes them to the HSM 14, which, at S8, internallywithin the HSM 14, first decrypts the symmetric encryption key andreplay prevention ID with its private key, then decrypts the PIN withthe uncovered symmetric key, and then re-encrypts the PIN with asymmetric key that is known to the authentication server 10. The HSM 14then returns the encrypted PIN under the new key to the bankingapplication software 12, which, at S9, compares the decrypted replayprevention ID with a clear-text version of the replay prevention IDretained by the application server, and if the decrypted replayprevention ID and the retained version are identical, sends there-encrypted PIN, along with the CIN, to the authentication server 10for verification. At S10, the authentication server 10 decrypts the PINwith the symmetric key known to the authentication server 10, checks theCIN and the decrypted PIN for veracity, and if verified, the user'slogon is permitted.

FIG. 3 is a schematic diagram that provides additional details of anexample of key components and the flow of information between keycomponents for an embodiment of the invention. Referring to FIG. 3, inaddition to the host 10, the DA 16, the DA HSM 14, the IPT 18, theuser's browser 20, and the PIN encryption applet 22, an embodiment ofthe invention utilizes, for example, a banking system server 30, anapplication server 32, a proprietary authentication mechanism referredto as “Combined Credential Store-Lite” (hereinafter “CCS-lite”) 34, anda web server 36.

FIGS. 4( a) and 4(b) show a flow diagram that illustrates an example ofthe PIN flow process for a normal login for an embodiment of theinvention. Referring to FIGS. 4( a) and 4(b), at S41, a user goes to asign-on screen; at S42, the PIN encryption applet 22 and replayprevention ID are downloaded to the browser 20 with a public key (and aCIN, if cookied); at S43, the user enters a PIN (and CIN, if notcookied) into the applet 22; at S44, the applet 22 creates a PIN blockusing the CIN and PIN; at S45, the applet 22 symmetric key-encrypts thePIN block and PKI encrypts the symmetric key and replay prevention IDwith the public key of CCS-lite 34; and at S46, the applet 22 sends theencrypted PIN block to the IPT 18 over SSL. At S47, the PKI-symmetrickey-encrypted PIN block travels through the Web server 36 and the IPTserver 18, but is at no time in the clear.

Referring further to FIGS. 4( a) and 4(b), at S48, CCS-lite 34 uses theHSM 14 to convert encryption within the HSM 14 from PKI to symmetric keyencryption resulting in a PIN block symmetric key-encrypted with KPE-x,a shared key known by CCS-lite 43 and DA 16; at S49, the symmetrickey-encrypted PIN block is encrypted within a PKI-based eACE token 38;and at S50, the PKI eACE token 38 is sent over SSL to DA 16. At S51, DA16 verifies that the eACE token 38 is valid and from a trusted sourceand decrypts the payload, i.e., the symmetric key-encrypted PIN block,which is never in the clear in memory; at S52, DA 16 passes thesymmetric-encrypted PIN block to the HSM 14; at S53, internally withinthe HSM 14, the HSM 14 decrypts the symmetric key-encrypted PIN blockwith KPE-x, re-encrypts the symmetric key encrypted PIN block withKPE-y, which is the host 10 session key for this DA session; at S54, theDA 16 compares the decrypted replay prevention ID with a clear-textversion of the replay prevention ID, and if the decrypted replayprevention ID and the retained version are identical, the symmetrickey-encrypted PIN block, encrypted with KPE-y, is sent to the host 10;and at S55, the authentication server 10 performs the PIN verification.

There are situations within a session when it is necessary for DA 16 toask the user to re-enter the user's PIN, and there are likewisesituations in which certain users are required to login directly to DA16 and bypass the portal 18. FIGS. 5( a) and 5(b) show a flow diagramthat illustrates an example of PIN flow in connection with re-entry of aPIN or native login directly to DA 16 for an embodiment of theinvention. Referring to FIGS. 5( a) and 5(b), at S61, the user goes to asign-on screen on DA 16; at S62, a PIN encryption applet 22 and replayprevention ID are downloaded to the browser 20 from DA 16 withCCS-lite's public key (and the CIN if cookied); and at S63, the userenters his or her PIN (and CIN if not cookied) into applet 22. At S64,the applet 22 creates a PIN block using the CIN and PIN; at S65, theapplet 22 symmetric key-encrypts the PIN block and PKI-encrypts thesymmetric key and replay prevention ID with the public key of CCS-lite34; and at S66, the applet 22 sends the encrypted PIN block to DA 16over SSL.

Referring further to FIGS. 5( a) and 5(b), at S67, the PKI-symmetric keyencrypted PIN block arrives in the DA server 16 but is at no time in theclear. At S68, the DA server 16 makes a client HTTPS “Post” request overSSL to CCS-lite 34 to convert the encryption of the PIN block frompublic-private key-based encryption to symmetric key-based encryption;at S69, CCS-lite 34 uses the HSM 14 to convert the encryption within theHSM 14 from PKI to symmetric key encryption that results in a PIN blocksymmetric key-encrypted with KPE-x, a shared key known by CCS-lite 34and DA 16; and at S70, CCS-lite 34 returns a response over SSL to DA 16.At S71, the PKI eACE token 38 is sent over SSL to DA 16; at S72, the DA16 passes the symmetric key-encrypted PIN block to the HSM 14; and atS73, the HSM 14, within the HSM 14, decrypts the symmetric key-encryptedPIN block with KPE-x and re-encrypts the symmetric key-encrypted PINblock with KPE-y, which is the authentication server 10 session key forthis DA 16 session. at S74, the DA 16 compares the decrypted replayprevention ID with a clear-text version of the replay prevention ID, andif the decrypted replay prevention ID and the retained version areidentical, the symmetric key-encrypted PIN block, encrypted with KPE-y,is sent to the authentication server 10; and at S75, the authenticationserver 10 performs PIN verification.

FIG. 6 is a schematic diagram that illustrates an overview example ofkey components and the flow of information between key components for analternate aspect of an embodiment of the invention. FIG. 7 is a flowchart that illustrates an example of the end-to-end encryption processfor the alternate aspect of an embodiment of the invention according toFIG. 6. Referring to FIGS. 6 and 7, at S101, a user visits a website andgoes to a logon page, and at S102, the encryption applet 22 and a replayprevention ID are downloaded to the user's browser 20 with a public keyof an encryption box or HSM 64 of the authentication server 62 that isco-resident with the application server 60. At S103, the user enters theuser's credentials in the applet, and at S104, the applet 22 takes theuser's credentials, generates a symmetric key, and encrypts the user'scredentials with the symmetric key and encrypts the symmetric key andreplay prevention ID with the public key that is known by the encryptionbox or HSM 64 of the authentication server 62, and the symmetric-keyencrypted user credentials and public key encrypted symmetric key andreplay prevention ID are sent from the browser to the application server60 (that is co-resident with the authentication server 62) via the webserver 36. At S104, the application server 60 passes the symmetric-keyencrypted user credentials and public key encrypted symmetric key andreplay prevention ID to the encryption box or HSM 64 of theauthentication server 62, which, at S105, internally within theencryption box or HSM 64 of the authentication server 62, first decryptsthe symmetric encryption key and replay prevention ID with its privatekey, then decrypts the user credentials with the uncovered symmetrickey, checks the decrypted and replay prevention ID user credentials forveracity, and if verified, the user's logon is permitted.

FIG. 8 is a schematic diagram that illustrates an overview example ofkey components and the flow of information between key components foranother alternate aspect of an embodiment of the invention. FIGS. 9( a)and 9(b) show a flow chart that illustrates an example of the end-to-endencryption process for the alternate aspect of an embodiment of theinvention according to FIG. 8. Referring to FIGS. 8, 9(a) and 9(b), atS201, a user visits a website and goes to a logon page, and at S202, theencryption applet 22 and replay prevention ID are downloaded to theuser's browser 20 with a public key of an encryption box or HSM 82 ofthe application server 80. At S203, the user enters the user'scredentials in the applet, and at S204, the applet 22 takes the user'scredentials, generates a symmetric key, and encrypts the user'scredentials with the symmetric key and encrypts the symmetric key andreplay prevention ID with the public key that is known by the encryptionbox or HSM 82 of the application server 80, and the symmetric-keyencrypted user credentials and public key-encrypted symmetric key andreplay prevention ID are sent from the browser to the application server80 via the web server 36. At S205, the application server passes thesymmetric-key encrypted user credentials and public key encryptedsymmetric key and replay prevention ID to the encryption box or HSM 82of the application server 80, which, at S206, internally within theencryption box or HSM 82, first decrypts the symmetric encryption keyand replay prevention ID with its private key, then decrypts the usercredentials with the uncovered symmetric key, and then re-encrypts theuser credentials with a symmetric key that is known to an encryption boxor HSM 86 of the authentication server 84. The encryption box or HSM 82of the application server 80 then returns the encrypted user credentialsunder the new key to the application server 80, which, at S207, comparesthe decrypted replay prevention ID with a clear-text version of thereplay prevention ID retained by the application server 80, and if thedecrypted replay prevention ID and the retained version are identical,the application server 80 allows the logon to continue and sends there-encrypted user credentials to the authentication server 84 forverification. At S208, the authentication server 84 decrypts the usercredentials with the uncovered symmetric key, checks the decrypted usercredentials for veracity, and if verified, the user's logon ispermitted.

Various embodiments of the present invention have now been generallydescribed in a non-limiting manner. It will be appreciated that theseexamples are merely illustrative of the present invention, which isdefined by the following claims. Numerous variations, adaptations, andmodifications will be apparent to those of ordinary skill in the artwithout departing from the spirit and scope of the present invention.

1. A method for allowing a user to securely log on to a host system viaan electronic interface, comprising: receiving, using a web servercomputer having a processor and memory, a request from the user at auser's computing device having a processor and memory and with a browserto access a website via the web server computer; sending, using the webserver computer, an encryption applet, a replay prevention ID, and apublic key of a public/private key pair, the private key for which isknown by a tamper-proof physical hardware security module of anapplication server computer having a processor and memory, to thebrowser of the user's computing device; receiving, using the user'scomputing device, entry of the user's credentials into the encryptionapplet; encrypting, using the user's computing device, the user'scredentials with a symmetric key and encrypting, using the user'scomputing device, the symmetric key and replay prevention ID with thepublic key of the public/private key pair by the encryption applet;sending, using the user's computing device, the symmetric key-encrypteduser's credentials and public key-encrypted symmetric key and replayprevention ID via the web server computer to the application servercomputer from the browser of the user's computing device by theencryption applet without decrypting the symmetric key-encrypted user'scredentials and public key-encrypted symmetric key and replay preventionID at the web server computer and passing, using the user's computingdevice via the web server computer, the symmetric key-encrypted user'scredentials and public key-encrypted symmetric key and replay preventionID into the tamper-proof physical hardware security module of theapplication server computer; decrypting, using the application servercomputer, internally within the tamper-proof physical hardware securitymodule of the application server computer the public key-encryptedsymmetric key and replay prevention ID with the private key of thepublic/private key pair known by the tamper-proof physical hardwaresecurity module of the application server computer and decrypting, usingthe application server computer, internally within the tamper-proofphysical hardware security module of the application server computer thesymmetric key-encrypted user's credentials with the decrypted symmetrickey; re-encrypting, using the application server computer, internallywithin the tamper-proof physical hardware security module of theapplication server computer the decrypted user's credentials with a newsymmetric key known to an authentication server computer having aprocessor and memory and passing, using the application server computer,the re-encrypted user's credentials and decrypted replay prevention IDout of the tamper-proof physical hardware security module of theapplication server computer; comparing, using the application servercomputer, the decrypted replay prevention ID with a clear-text versionof the replay prevention ID retained by the application server computer,and if the decrypted replay prevention ID and the retained version areidentical, sending, using the application server computer, there-encrypted user's credentials to the authentication server computerfor verification; and decrypting, using the authentication servercomputer, the re-encrypted user's credentials with the new symmetric keyknown to the authentication server computer, checking, using theauthentication server computer, the decrypted user's credentials forveracity, and if verified, allowing, using the authentication servercomputer, the user's logon.
 2. The method of claim 1, wherein sendingthe encryption applet to the user's browser further comprises sending afaceless encryption applet associated with the logon page to the user'sbrowser.
 3. The method of claim 1, wherein sending the encryption appletto the user's browser further comprises sending the encryption appletthat is contained in a single class file containing functionalitynecessary to encrypt the user's credentials.
 4. The method of claim 1,wherein sending the encryption applet to the user's browser furthercomprises sending an encryption applet sized to be downloaded to theuser's browser on each logon.
 5. The method of claim 1, wherein sendingthe encryption applet to the user's browser further comprises sending anencryption applet that persists on the user's browser for a duration ofa current browser session.
 6. The method of claim 1, wherein encryptingthe user's credentials with the symmetric key further comprisesgenerating the symmetric key by the encryption applet.
 7. The method ofclaim 6, wherein generating the symmetric key further comprisesgenerating the symmetric key by the encryption applet based on a randomnumber generated by the encryption applet.
 8. The method of claim 1,wherein encrypting the user's credentials with the symmetric key furthercomprises encrypting the user's credentials with a DES key to produce acipherPIN.
 9. The method of claim 1, wherein encrypting the symmetrickey with the public key further comprises encrypting a DES key with thepublic key to produce a cipherKey.
 10. The method of claim 1, whereinencrypting the user's credentials with the symmetric key and encryptingthe symmetric key with the public key further comprises clearing workingvariables by the encryption applet to prevent retention of sensitiveclear data.
 11. The method of claim 1, wherein sending the symmetrickey-encrypted user's credentials and public key-encrypted symmetric keyto the application server computer further comprises sending thesymmetric key-encrypted user's credentials and public key-encryptedsymmetric key to the application server computer by the encryptionapplet via a portal application.
 12. The method of claim 11, whereinsending the symmetric key-encrypted user's credentials and publickey-encrypted symmetric key to the application server computer via theportal application further comprises encrypting and digitally signingthe symmetric key-encrypted user's credentials and the publickey-encrypted symmetric key within a single sign-on token and sendingthe token to the application server computer by the portal application.13. The method of claim 12, wherein sending the symmetric key-encrypteduser's credentials and public key-encrypted symmetric key to theapplication server computer via the portal application further comprisesdecrypting the single sign-on token and verifying that the token wasreceived from the portal application as a trusted source.
 14. A systemfor allowing a user to securely log on to a host system via anelectronic interface, comprising: a web server computer having aprocessor and memory, the web server computer processor being programmedfor: receiving a request from the user at a user's computing devicehaving a processor and memory and with a browser to access a website viaa the web server computer; and sending an encryption applet, a replayprevention ID, and a public key of a public/private key pair, theprivate key for which is known by a tamper-proof physical hardwaresecurity module of an application server computer having a processor andmemory, to the browser of the user's computing device; the user'scomputing device processor being programmed for: receiving entry of theuser's credentials into the encryption applet; encrypting the user'scredentials with a symmetric key and encrypting the symmetric key andreplay prevention ID with the public key of the public/private key pairby the encryption applet; and sending the symmetric key-encrypted user'scredentials and public key-encrypted symmetric key and replay preventionID via the web server computer to the application server computer fromthe browser of the user's computing device by the encryption appletwithout decrypting the symmetric key-encrypted user's credentials andpublic key-encrypted symmetric key and replay prevention ID at the webserver computer and passing the symmetric key-encrypted user'scredentials and public key-encrypted symmetric key and replay preventionID into the tamper-proof physical hardware security module of theapplication server computer; the application server computer processorbeing programmed for: decrypting internally within the tamper-proofphysical hardware security module of the application server computer thepublic key-encrypted symmetric key and replay prevention ID with theprivate key of the public/private key pair known by the tamper-proofphysical hardware security module of the application server computer anddecrypting internally within the tamper-proof physical hardware securitymodule of the application server computer the symmetric key-encrypteduser's credentials with the decrypted symmetric key; re-encryptinginternally within the tamper-proof physical hardware security module ofthe application server computer the decrypted user's credentials with anew symmetric key known to an authentication server computer having aprocessor and memory and for passing the re-encrypted user's credentialsand decrypted replay prevention ID out of the tamper-proof physicalhardware security module of the application server computer; comparingthe decrypted replay prevention ID with a clear-text version of thereplay prevention ID retained by the application server computer, and ifthe decrypted replay prevention ID and the retained version areidentical, for sending the re-encrypted user's credentials to theauthentication server computer for verification; and the authenticationserver computer processor being programmed for: decrypting there-encrypted user's credentials with the new symmetric key known to theauthentication server computer, checking the decrypted user'scredentials for veracity, and if verified, allowing the user's logon.15. A method for allowing a user to securely log on to a host system viaan electronic interface, comprising: receiving, using a web servercomputer having a processor and memory, a request from the user at auser's computing device having a processor and memory and with a browserto access an application server computer program executing on anapplication and authentication server computer having a processor andmemory via the web server computer; sending, using the web servercomputer, an encryption applet, a replay prevention ID, and a public keyof a public/private key pair of an authentication server computerprogram executing on the application and authentication server computerthat is co-resident with the application server computer programexecuting on the application and authentication server computer to theuser's browser by the application server computer program executing onthe application and authentication server computer; receiving, using theuser's computing device, entry of the user's credentials into theencryption applet; encrypting, using the user's computing device, theuser's credentials with a symmetric key and encrypting, using the user'scomputing device, the symmetric key and replay prevention ID with thepublic key of the public/private key pair of the authentication serverby the encryption applet; sending, using the user's computing device,the symmetric key-encrypted user's credentials and public key-encryptedsymmetric key and replay prevention ID via the web server computer tothe application server computer program executing on the application andauthentication server computer from the browser of the user's computingdevice without decrypting the symmetric key-encrypted user's credentialsand public key-encrypted symmetric key and replay prevention ID at theweb server computer; passing, using the application and authenticationserver computer, the symmetric key-encrypted user's credentials andpublic key-encrypted symmetric key and replay prevention ID by theapplication server computer program executing on the application andauthentication server computer to the authentication server computerprogram executing on the application and authentication server computerwithout decrypting the key-encrypted user's credentials and publickey-encrypted symmetric key and replay prevention ID at the applicationserver computer program executing on the application and authenticationserver computer; decrypting, using the application and authenticationserver computer, the public key-encrypted symmetric key and replayprevention ID with the private key of the public/private key pair of theauthentication server computer program executing on the application andauthentication server computer and decrypting, using the application andauthentication server computer, the symmetric key-encrypted user'scredentials with the decrypted symmetric key by a tamper-proof physicalhardware security module of the authentication server computer programexecuting on the application and authentication server computer; andchecking, using the application and authentication server computer, thedecrypted replay prevention ID and the decrypted user's credentials forveracity, and if verified, allowing, using the application andauthentication server computer, the user's logon, by the authenticationserver computer program executing on the application and authenticationserver computer.
 16. A method for allowing a user to securely log on toa host system via an electronic interface, comprising: receiving, usinga web server computer having a processor and memory, a request from theuser at a user's computing device having a processor and memory and witha browser to access an application server computer having a processorand memory via a the web server computer; sending, using the web servercomputer, an encryption applet, a replay prevention ID, and a public keyof a public/private key pair, the private key for which is known by atamper-proof physical hardware security module of the application servercomputer to the browser of the user's computing device by theapplication server computer via the web server computer; receiving,using the user's computing device, entry of the user's credentials intothe encryption applet; encrypting, using the user's computing device,the user's credentials with a symmetric key and encrypting, using theuser's computing device, the symmetric key and replay prevention ID withthe public key of the public/private key pair by the encryption applet;sending, using the user's computing device, the symmetric key-encrypteduser's credentials and the public key-encrypted symmetric key and replayprevention ID via the web server computer to the application servercomputer from the browser of the user's computing device withoutdecrypting the symmetric key-encrypted user's credentials and publickey-encrypted symmetric key and replay prevention ID by the web servercomputer and passing, via the web server computer, the symmetrickey-encrypted user's credentials and public key-encrypted symmetric keyand replay prevention ID into the tamper-proof physical hardwaresecurity module of the application server computer; decrypting, usingthe application server computer, internally within the tamper-proofphysical hardware security module of the application server computer thepublic key-encrypted symmetric key and replay prevention ID with theprivate key of the public/private key pair known by the tamper-proofphysical hardware security module of the application server computer anddecrypting, using the application server computer, internally within thetamper-proof physical hardware security module of the application servercomputer the symmetric key-encrypted user's credentials with thedecrypted symmetric key; re-encrypting, using the application servercomputer, internally within the tamper-proof physical hardware securitymodule of the application server computer the decrypted user'scredentials with a new symmetric key known to an authentication servercomputer having a processor and memory and passing, using theapplication server computer, the re-encrypted user's credentials anddecrypted replay prevention ID out of the tamper-proof physical hardwaresecurity module of the application server computer: comparing, using theapplication server computer, the decrypted replay prevention ID with aclear-text version of the replay prevention ID retained by theapplication server computer, and if the decrypted replay prevention IDand the retained version are identical, sending, using the applicationserver computer, the re-encrypted user's credentials to theauthentication server computer by the application server computer forverification; and decrypting, using the authentication server computer,the re-encrypted user's credentials with the new symmetric key known tothe authentication server computer, checking, using the authenticationserver computer, the decrypted user's credentials for veracity, and ifverified, allowing, using the authentication server computer, the user'slogon.